CHAI Flow™

Discover. Assess. Transform. Deploy.
End-to-End Agentic Application Modernization for the Enterprise
Product: CHAI Flow™  |  Powered by: CloudHedge R6Ai®  |  Version: 2026 Edition  |  Classification: General Distribution
"From Legacy to Cloud-Native. Automated, End to End."

How to Use This Document

If you are a... Start with... Key sections
Cloud Architect evaluating end-to-end modernization Section 1 (What is CHAI Flow) Sections 1, 2, 8, 9
DevOps / Infrastructure Engineer running discovery and containerization Section 3 (Windows Discovery) Sections 3, 4, 5, 8
CIO / CDO seeking portfolio rationalization and migration ROI Section 7 (Reports) Sections 1, 6, 7, 12
Application Team Lead planning migration waves Section 6 (Rationalization) Sections 5, 6, 7, 8
Platform / Kubernetes Engineer deploying containerized workloads Section 9 (Cruise) Sections 8, 9, 10
Cloud Cost Analyst estimating AWS migration spend Section 6.3 (AWS Cost) Sections 6, 12

1. What is CHAI Flow™?

CHAI Flow™ is CloudHedge's end-to-end agentic application modernization platform. It combines automated discovery and deep assessment with AI-driven containerization and Kubernetes deployment — delivering a single, continuous workflow from bare-metal legacy servers to production cloud-native workloads.

The Core Problem CHAI Flow Solves:
Enterprise application modernization fails at every seam — between assessment teams and engineering teams, between containerization tools and deployment platforms, between planning spreadsheets and actual execution. CHAI Flow eliminates those seams with a single integrated platform: discover your estate, understand complexity, containerize applications automatically, and deploy to Kubernetes — all without leaving the CHAI environment.

CHAI Flow™ is organized into three integrated phases:

Phase Module What It Does
Phase 1 — DART Discovery, Assessment & Rationalization Automated agentless discovery of Windows and Linux hosts; complexity scoring; 6R rationalization; AWS cost projections; DART and Practitioner reports
Phase 2 — Transform Application Transformation Studio AI-driven containerization of discovered processes into Docker images; Dockerfile management; registry push; replatforming for Java app servers
Phase 3 — Cruise Kubernetes Deployment Engine Application Blueprint creation; multi-cluster deployment; workload lifecycle management on any CNCF-compliant Kubernetes cluster

Key Differentiators

Capability Point Tools / Manual CHAI Flow™
Discovery Manual interviews, spreadsheets Automated agentless SSH / WinRM discovery
Assessment Weeks per application, subjective Hours for 50-host project, formula-based R6Ai® scoring
Containerization Manual Dockerfile writing Auto-generated Dockerfiles from discovery artifacts
Replatforming Custom scripts per app server Built-in WebLogic / WebSphere / Tomcat / JBoss → Linux container pipelines
Deployment Manual YAML authoring Application Blueprint auto-generated from Transform profile
Kubernetes target Locked to one cluster vendor BYOC across EKS, AKS, GKE, OpenShift, Rancher, Tanzu
End-to-end traceability Zero Discovery → Transform → Cruise — single audit trail

2. DART — Discovery Architecture

2.1 Discovery Architecture

DART uses an agentless architecture. No software is permanently installed on the source servers. CHAI connects to each host over the network using standard protocols (SSH for Linux, WinRM for Windows) to collect system state information.

flowchart LR classDef chai fill:#2020a0,color:#fff,stroke:#435ef8,stroke-width:2.5px,font-weight:700 classDef gateway fill:#1a3880,color:#fff,stroke:#435ef8,stroke-width:2px,font-weight:600 classDef linux fill:#435ef8,color:#fff,stroke:#2020a0,stroke-width:1.5px classDef windows fill:#3a52c9,color:#fff,stroke:#2020a0,stroke-width:1.5px classDef output fill:#8d00fc,color:#fff,stroke:#435ef8,stroke-width:1.5px %% CHAI Appliance services B{{R6Ai Analysis}}:::chai A{{DART Engine}}:::chai C{{Report Generator}}:::chai %% Host group gateways — replaces subgraph labels LG["Linux Hosts · SSH :22"]:::gateway WG["Windows Hosts · WinRM :5986"]:::gateway %% Linux hosts L1[WebLogic Server]:::linux L2[WebSphere Server]:::linux L3[Tomcat / JBoss]:::linux L4[General Linux Process]:::linux %% Windows hosts W1[IIS Website]:::windows W2[Console Application]:::windows W3[Windows Service]:::windows %% Assessment outputs O1([DART Report]):::output O2([Practitioner Report]):::output O3([AWS Cost Comparison]):::output O4([Topology Map]):::output %% Internal CHAI flow B --> A --> C %% Phase 1 discovery — solid arrows A -->|"Phase 1: Static Info"| LG & WG %% Phase 2 dynamic probes — solid arrow A -->|"Phase 2: Dynamic Probes"| L4 %% Netwatch live traffic — dashed arrows A -.->|"Netwatch: Live Traffic"| LG & WG %% Callback from hosts — solid arrows LG & WG -->|"Callback HTTPS :443"| A %% Gateway to individual host nodes LG --- L1 & L2 & L3 & L4 WG --- W1 & W2 & W3 %% Report generation C --> O1 & O2 & O3 & O4

2.2 Two-Phase Discovery Process

DART discovery operates in two phases:

Phase What It Does Windows Linux
Phase 1 Collects static host information: OS, CPU, memory, disk, packages, installed software, running processes, network configuration, environment variables Supported Supported
Phase 2 (X-Ray) Attaches dynamic probes to capture live process-to-process communications, outbound connections, file system writes Not supported Supported

Non-Invasive Discovery (Non-X-Ray): For Java application servers (WebLogic, WebSphere, Tomcat, JBoss), DART performs a single-phase discovery. Outgoing connections are determined directly from the application server configuration (DataSource definitions, JMS modules, etc.), making X-Ray unnecessary.

2.3 Projects and Hosts

DART organizes discovery work into Projects. Each project is a logical grouping of hosts:


3. Windows Host Discovery

DART's Windows discovery is non-intrusive and collects comprehensive system and application state information using WinRM over port 5986.

3.1 What DART Discovers on Windows

flowchart TD classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef win fill:#435ef8,color:#fff,stroke:#2020a0 classDef data fill:#8d00fc,color:#fff,stroke:#435ef8 DART[DART Engine] subgraph System_Info[System Information] S1[CPU / Memory / Disk] S2[Operating System] S3[DNS Servers] S4[Installed Packages] S5[Path Variables] S6[NTP Servers] S7[ODBC Drivers and DSNs] end subgraph Apps[Application Types] A1[IIS Websites] A2[Console Applications] A3[Windows Services] end subgraph IIS_Detail[IIS Detail Collected] I1[App Pool and Auth Type] I2[Network Bindings] I3[Virtual Directories] I4[SSL Certificates] I5[Backing Services] I6[Default Documents] end DART -->|WinRM :5986| System_Info DART -->|WinRM :5986| Apps A1 --> IIS_Detail System_Info -->|Callback HTTPS :443| DART Apps -->|Callback HTTPS :443| DART class DART chai class S1,S2,S3,S4,S5,S6,S7 win class A1,A2,A3 win class I1,I2,I3,I4,I5,I6 data

IIS Website Discovery (Full Support)

Data Point Description
Application Pool Name Pool used by the IIS website
Authentication Type Anonymous, Forms-based, Windows, etc.
Network Bindings All protocols and ports
Virtual Directories Physical paths and drive types
SSL Certificates Issuer, issued-to, validity dates
Backing Services Connection strings used by the site
Default Documents Configured default document list

Console & Windows Service Discovery (Beta)

For both Console Applications and Windows Services, DART collects:
- List of file/folder paths of all dependencies
- All DLL dependencies
- Process ID, memory usage, ports, command line, platform (32/64-bit), subsystem

Process Ignore List

Specific processes can be excluded from Windows discovery using the Process Ignore List, configurable per project or globally in Settings.


4. Linux Host Discovery

DART connects to Linux hosts over SSH (port 22) and supports both general process discovery and specialized non-X-Ray discovery for major Java application servers.

4.1 General Linux Process Discovery

For any Linux process, Phase 1 collects:
- CPU, memory, disk, OS, DNS configuration
- All running processes and their ports
- Environment variables, scheduled jobs, network configuration
- Static host entries, external DNS servers

Phase 2 (X-Ray) additionally captures:
- Live inbound and outbound network connections per process
- Hard-coded network dependencies
- File system writes
- External services consumed

4.2 Java Application Server Discovery (Non-X-Ray)

For the four major Java application servers, DART performs a specialized single-phase discovery that extracts full application configuration — eliminating the need for X-Ray probes:

flowchart TD classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef server fill:#435ef8,color:#fff,stroke:#2020a0 classDef config fill:#8d00fc,color:#fff,stroke:#435ef8 DART[DART Engine] DART --> WL[Oracle WebLogic\n12.1.3 / 12.2.1.4] DART --> WS[IBM WebSphere\n8.x / 9.x] DART --> TC[Apache Tomcat\n7 / 8 / 9 / 10] DART --> JB[JBoss EAP 6.1] WL --> WL1[Admin Server\nManaged Servers\nClusters] WL --> WL2[Data Sources\nJMS Modules\nShared Libraries\nCertificates] WS --> WS1[Deployment Manager\nApp Servers\nNode Agents] WS --> WS2[Data Sources\nJMS Config\nShared Libraries\nJNDI Realms] TC --> TC1[Virtual Hosts\nClusters\nApplication Pools] TC --> TC2[JNDI Data Sources\nCertificates\nJMS / Logging\nRealms / Valves] JB --> JB1[Domain Controller\nApplication Servers] JB --> JB2[Data Sources\nShared Libraries\nCertificates] class DART chai class WL,WS,TC,JB server class WL1,WL2,WS1,WS2,TC1,TC2,JB1,JB2 config

Supported Java Application Server Objects

Object WebLogic WebSphere Tomcat JBoss
Shared Application Libraries Discover Discover Discover Discover
Server Certificates Discover Discover Discover Discover
Data Sources Discover Discover Discover Discover
JMS Modules Discover Discover Discover Discover
JNDI Realms Discover Discover Discover
Cluster Configuration Discover Discover Discover Discover

5. Network Intelligence

5.1 Netwatch — Live Network Dependency Capture

Netwatch is DART's network monitoring capability. It captures all inbound and outbound network connections made to/from each host over a configurable monitoring duration — providing ground-truth evidence of actual application communication patterns.

Netwatch is critical for migration wave planning: it reveals hidden dependencies that no static scan or interview can uncover.

flowchart LR classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef host fill:#435ef8,color:#fff,stroke:#2020a0 classDef output fill:#8d00fc,color:#fff,stroke:#435ef8 subgraph Project["Project Hosts"] direction TB H1[Host A\nWeb Server] H2[Host B\nApp Server] H3[Host C\nDatabase] end NW[Netwatch Monitor] subgraph CSV_Fields["Netwatch CSV Output"] direction TB F1[Project / Host Alias / Host IP] F2[Direction: Inbound / Outbound] F3[Port Number] F4[Process ID and Process Name] F5[Connected Host IP] F6[IOPS and Throughput Metrics] end SG[Machine Grouping\nSuggestions] Project --> NW NW --> CSV_Fields NW --> SG class NW chai class H1,H2,H3 host class F1,F2,F3,F4,F5,F6,SG output

How Netwatch Works:
1. Start Netwatch on selected hosts from the project's Discover view
2. Set monitoring duration; optionally clear previous Netwatch data
3. Netwatch runs in the background — status: waiting → in progress → completed
4. Download results as CSV from the project home page (NetWatch Data)
5. DART automatically identifies IPs shared across projects and suggests logical machine groupings

Netwatch CSV Fields: Project_Wave_Name, Host_Alias, Host_IP, Direction, Port, ProcessID, ProcessName, Connected_Host_IP

5.2 Topology Viewer

DART's Topology view visualizes the connections between all discovered hosts and their processes.

Two Topology Views:

View Shows Use Case
Host View All hosts in the project and their process connections Infrastructure-level dependency map
Application View Processes grouped by defined Applications Application-level communication map

Both views support:
- Filtering by host or application
- Customizable layouts
- Double-click on any process, host, or application node for detailed information


6. Rationalization & Assessment

After discovery, DART's Rationalize module applies intelligence to generate actionable migration recommendations.

6.1 The 6R Framework — Host Classification

Every discovered host is classified using the industry-standard 6R migration framework:

flowchart TD classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef r6 fill:#435ef8,color:#fff,stroke:#2020a0 classDef note fill:#f1f2f2,color:#414042,stroke:#a7a9ac HOST[Discovered Host] HOST --> REINVEST[Reinvest\nStrategic — invest further\nto maintain currency] HOST --> RETAIN[Retain\nNo cloud migration\nfunctions adequately] HOST --> RETIRE[Retire\nDecommission or\nconsolidate] REINVEST --> REHOST[Rehost\nLift and shift to cloud\nno modifications] REINVEST --> REPLATFORM[Replatform\nMigrate with component\nreplacements] REINVEST --> REFACTOR[Refactor\nSubstantial overhaul for\ncloud-native adaptation] class HOST chai class REINVEST,RETAIN,RETIRE,REHOST,REPLATFORM,REFACTOR r6
Classification Definition CloudHedge Capability
Reinvest Strategic apps warranting investment to modernize Sub-classified as Rehost, Replatform, or Refactor
Rehost Lift-and-shift to cloud, no modifications Migrate large-scale legacy apps to meet timeline objectives
Replatform Move largely unchanged, replace certain components Windows-to-Linux migration; leaner cloud options
Refactor Substantial overhaul for cloud-native Transition to microservices architecture with CHAI Flow™
Retain No cloud migration On-premises compliance, performance, or investment constraints
Retire Decommission Redundant or consolidatable applications

Classification values are set per host and feed directly into DART report generation.

6.2 Application Complexity Scoring

DART calculates a containerization complexity score for every discovered process. This is a formula-based, reproducible score — not a subjective expert estimate.

Complexity Score Range:

Score Complexity
0 – 25 Low
26 – 35 Medium
36 and above High

Complexity is calculated from:

For Linux X-Ray processes:
- 32-bit process or library detected?
- Hard-coded network dependencies?
- Additional packages required?
- Process user (root vs. service account)?
- Special file permissions or special files detected?
- Hard-coded /etc/hosts entries?
- External DNS servers?
- External services consumed?
- File system writes detected?

For Windows IIS websites:
- Windows features required?
- Additional IIS modules required?
- WebAppPool creation required?
- SSL certificates required?
- Group Managed Service Accounts (gMSAs) required?
- File system writes detected?
- External services consumed?

For Java App Servers (Non-X-Ray — WebSphere, WebLogic, Tomcat):
- External Active Directory integration?
- Database integration (DB2, etc.)?
- Message Queue integration?
- SSL certificates required?

6.3 AWS Cost Comparison

DART calculates the estimated monthly cost of hosting all discovered hosts in an AWS region of your choice.

Cost Calculation Components:
- Compute: EC2 instance selection based on discovered CPU/memory/OS specs
- Storage: EBS/storage based on discovered disk usage
- Network: Data transfer costs
- Business Support: AWS support tier
- VDI: Windows Desktop OS virtualization costs

Features:
- Automatic EC2 instance type mapping per AWS region
- Override instance types to model different cost scenarios
- Compare costs across multiple AWS regions
- Pre- and post-Broadcom VMware cost comparison for savings calculation
- 1-year and 3-year NURI (No Upfront Reserved Instance) options

Prerequisites: Project's Target Cloud must be set to AWS with a preferred region configured.

6.4 AWS Graviton Readiness Assessment

Included by default in every DART project. For each discovered host and component, DART shows:
- Graviton Readiness Indicator (compatible / not compatible)
- Graviton-compatible EC2 instance type recommendations
- Readiness by Application Component Types, Technology Types, and Complexity Levels


7. DART Reports & Dashboards

DART generates two types of reports, available as downloadable PDFs.

7.1 DART Report (CXO / Executive)

The DART Report is the project landing page itself — a live, interactive executive summary automatically generated from discovery data.

flowchart TD classDef section fill:#2020a0,color:#fff,stroke:#435ef8 classDef item fill:#435ef8,color:#fff,stroke:#2020a0 DART_REPORT[DART Report] DART_REPORT --> S1[High Level Summary\nHost count, OS types,\ncomponent count] DART_REPORT --> S2[Cost Savings Opportunity\nProjected savings\nfrom cloud migration] DART_REPORT --> S3[Host Compliance\nOS license expiry timeline\nExpired / 1yr / 2yr / 3yr / 3yr+] DART_REPORT --> S4[Component Report\nComplexity distribution\nTech stack\nComponent types] DART_REPORT --> S5[Database Distribution\nIdentified databases\nManaged service recommendations] DART_REPORT --> S6[Topology\nInteractive connection\nvisualization] DART_REPORT --> S7[Applications\nDefined app groupings\nRationalization details] DART_REPORT --> S8[Components and Hosts\nPer-component and\nper-host detail tables] DART_REPORT --> S9[AWS Graviton\nGraviton readiness\nby type and complexity] class DART_REPORT section class S1,S2,S3,S4,S5,S6,S7,S8,S9 item

7.2 Practitioner Report

The Practitioner Report is the detailed technical report for IT teams responsible for executing the modernization. It is available per Application, per Component, or per Host.

Sections:

Section Contents
Executive Summary Editable workshop notes and summary
Host Distribution Breakdown by OS (Linux, Windows)
Complexity Distribution All applications with calculated complexity scores
Technology Stack Application components by technology
Topology Network dependency map
Application Information Per-application details and rationalization
Host Information OS, IP, CPU cores, memory, CPU family, DNS, storage

Accessing Practitioner Reports:
- From the Rationalize tab → Hosts tab → View Practitioner Report
- From the Rationalize tab → Applications list → View Practitioner Report
- From the project landing page → Applications, Components, or Hosts sections

7.3 Report Comparison

Feature DART Report Practitioner Report
Audience CIO, CDO, Migration Lead DevOps Engineers, App Owners, Migration Teams
Scope Full portfolio / project Per application, component, or host
Complexity detail Distribution view Per-process scoring breakdown
Host detail Summary table Full OS, CPU, memory, storage, DNS
Editable content No Yes (Executive Summary)
Graviton readiness Yes Yes
Download PDF PDF

8. Transform — Containerization

Transform is CHAI Flow's automated containerization engine. It takes the process artifacts collected during DART discovery — binaries, dependencies, ports, configuration — and builds production-ready Docker container images without manual Dockerfile authoring.

Agentless Containerization: Transform uses the same agentless philosophy as DART. No permanent tooling is installed on source servers. The Build Box (an intermediate host with a Docker daemon) performs the image construction using artifacts already collected during discovery.

8.1 What is Transform

Transform builds a Docker container image from all artifacts collected during the discover phase: process binaries, process dependencies, and process port bindings. The entire process is agentless.

Transform operates in two phases:

Phase What Happens
Phase 1 Builds the Docker container image from the discovered process information
Phase 2 Uploads the built container image to a public or private Docker registry (optional)

8.2 Build Box

The Build Box is the intermediate host that runs the Docker daemon and builds container images from process information.

flowchart TD classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef buildbox fill:#435ef8,color:#fff,stroke:#2020a0 classDef registry fill:#8d00fc,color:#fff,stroke:#435ef8 CHAI[CHAI Flow Engine] subgraph Build_Box[Build Box Host] direction TB BB1[Docker Daemon] BB2[Phase 1: Build Image\nfrom Process Artifacts] BB3[Phase 2: Push to Registry\nOptional] end subgraph Registries[Supported Registries] direction TB R1[Docker Hub] R2[Amazon ECR] R3[QUAY] R4[Azure ACR] R5[Harbor] R6[Custom Registry] end CHAI -->|SSH :22 Linux\nWinRM Windows| Build_Box BB2 --> BB3 BB3 --> Registries class CHAI chai class BB1,BB2,BB3 buildbox class R1,R2,R3,R4,R5,R6 registry

Build Box Operating System Support:
- Linux (SSH connection, port 22)
- Windows (for Windows container builds)

Prerequisites: The Build Box must satisfy platform-specific prerequisites (available in CHAI settings) before a Transform job can start. This is a mandatory step.

Base Image: Each Transform job uses a base Docker image (from Docker Hub or a custom source) as the foundation into which process information is inserted to create the final application container.

8.3 Application Transformation Studio

The Application Transformation Studio is CHAI Flow's one-stop interface for managing the full containerization workflow. It preserves all historical discovery data as an immutable record and allows users to create editable copies for customization.

Key Principle: Original discovery data is immutable. All customization work is performed on named copies (profiles), preserving the source-of-truth.

Studio Features

Feature Description
Edit Dockerfile View and edit the auto-generated Dockerfile for any discovered process
File Explorer Visualize and manage files bundled into the container (Linux and Windows)
Validate and Build Run pre-checks and trigger container image build with one click
Container Runtime Options Configure ports, replicas, environment variables, config maps, CPU, and memory
Profile Versioning Create, name, and manage multiple copies of a process profile (max 10 versions)
Merge Components Combine multiple processes into a single merged container profile
Image Management View all built images per profile; mark a specific image as final

Profile Management Workflow

flowchart LR classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef profile fill:#435ef8,color:#fff,stroke:#2020a0 classDef action fill:#8d00fc,color:#fff,stroke:#435ef8 DISC[Discovery Data\nImmutable Default Profile] DISC --> COPY[Create Profile Copy\nEditable version] COPY --> EDIT[Edit Dockerfile\nFile Selection\nContainer Config] EDIT --> BUILD[Validate and Build\nSelect Build Box\nConfigure Registry] BUILD --> IMAGE[Container Image\nBuilt and Pushed] IMAGE --> FINAL[Mark Image as Final] COPY --> MERGE[Merge Components\nCombine multiple processes] MERGE --> EDIT class DISC chai class COPY,EDIT,MERGE profile class BUILD,IMAGE,FINAL action

8.4 Containerizing Linux Processes

CHAI Flow containerizes any discovered Linux process directly from the Transform view.

Workflow:
1. Select the project and click Transform in the left menu
2. Click Containerize next to the desired process
3. Click Create Copy to create an editable profile
4. Customize via tabs: Edit Dockerfile, File Selection, Container Config
5. Click Validate and Build — select the Build Box and configure registry
6. Click Build Container Image to trigger the build
7. Monitor progress in the Logs tab
8. Verify the image in the configured registry upon completion

Registry Configuration per Type:

Registry Required Fields
Docker Hub Repository name, Image tag, Vault credentials
Amazon ECR Repository URI, Repository name, Image tag, Vault credentials
QUAY Server (quay.io), Repository, Image tag, Vault credentials
Azure ACR Server address, Repository, Image tag, Vault credentials
Harbor Server address, Repository, Image tag, Vault credentials
Custom Registry Server address, Repository, Image tag, Vault credentials

8.5 Containerizing Windows Processes

CHAI Flow supports containerization of the three Windows application types discovered by DART:

Application Type Support Level
IIS Websites Full support — including multi-site merge
Console Applications Beta
Windows Services Beta

IIS Merge Feature: Multiple IIS websites can be merged into a single container image — enabling consolidation of related web applications without architectural changes.

Console and Service Applications: Working directories are captured from Program Files locations; additional files can be included or excluded during the Transform configuration step.

Windows Build Workflow:
1. Navigate to Transform → select Windows process → click Containerize
2. Create a profile copy
3. Click Validate and Build
4. Add Windows Build Box credentials
5. Select registry type and provide registry configuration
6. Run pre-checks
7. Click Build Container Image

8.6 Replatforming Java Application Servers

Transform's most powerful capability: taking Windows-hosted Java application servers and replatforming them to Linux container images — eliminating the Windows runtime dependency entirely.

flowchart TD classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef winapp fill:#435ef8,color:#fff,stroke:#2020a0 classDef linuximg fill:#8d00fc,color:#fff,stroke:#435ef8 FLOW[CHAI Flow Transform] subgraph Windows_Apps[Windows Java App Servers] direction TB WL[Oracle WebLogic] WS[IBM WebSphere] TC[Apache Tomcat] JB[JBoss EAP] end subgraph Linux_Containers[Linux Container Images] direction TB WLC[Oracle Base Image\nWebLogic Container] WSC[WebSphere Liberty\nBase Image] TCC[Tomcat Base Image\nTomcat Container] JBC[WildFly Base Image\nJBoss Container] end FLOW --> Windows_Apps WL --> WLC WS --> WSC TC --> TCC JB --> JBC class FLOW chai class WL,WS,TC,JB winapp class WLC,WSC,TCC,JBC linuximg

Replatform Base Images:

Source App Server Target Base Image Notes
Oracle WebLogic Oracle official base image Version-matched to discovered WebLogic version
IBM WebSphere WebSphere Liberty base image Migrated to Liberty runtime
Apache Tomcat Tomcat official base image Version-matched to discovered Tomcat version
JBoss EAP WildFly base image Community upstream of JBoss

Replatform Workflow (all Java servers follow the same pattern):
1. Click on the project → Transform → select the Java app server process → Containerize
2. Click Create Copy to create a customizable profile
3. Use the three customization tabs:
- Edit Dockerfile: Review and optionally modify the auto-generated Dockerfile. Base image is selected automatically based on the discovered server version
- File Selection: Bundle additional files into the container image
- Container Config: Review and complete all ConfigMaps. Parameters requiring user input are marked <change-me>. SSL keystore configuration is included where certificates were discovered
4. Click Validate and Build → select the Linux Build Box → configure registry
5. Click Build Container Image
6. Monitor logs; verify image in registry on completion


9. Cruise — Kubernetes Deployment

Cruise (internally referenced as Cruize) is CHAI Flow's self-service Kubernetes deployment engine. It takes container images produced by Transform and deploys them as production workloads on any CNCF-compliant Kubernetes cluster — with no manual YAML authoring required.

Bring Your Own Cluster (BYOC): Cruise does not provision infrastructure. Enterprise Kubernetes clusters — managed by platform or infrastructure teams — are imported into CHAI once and reused for all deployments. Application teams can deploy independently without depending on the infrastructure team for each release.

9.1 What is Cruise

Cruise is a self-service platform for on-demand application deployments on any CNCF-compliant Kubernetes cluster. It bridges the gap between container images (produced by Transform) and running production workloads — using Application Blueprints as the portable deployment specification.

Cruise Core Concepts:

Concept Definition
Application Blueprint A portable specification describing all application components and their interdependencies — ports, replicas, config maps, environment variables, CPU, memory
Blueprint Version A snapshot of a blueprint at a point in time. Versioned lifecycle aligned with software development (default: v0, max 10 revisions per blueprint)
Workload A running application on a Kubernetes cluster — one or more pods managed by CHAI Flow
Cluster A CNCF-compliant Kubernetes cluster imported into CHAI via BYOC

9.2 Application Blueprints

An Application Blueprint describes all application components, their container images, and runtime configuration. Blueprints are created automatically when a Transform profile is finalized, or manually through the Cruise UI.

Blueprint Creation Methods:

Method When to Use
From Transform Profile After containerization is complete — CHAI auto-populates ports, replicas, config maps, environment variables, CPU, and memory from discovery data
Manual Creation When importing externally built container images or defining blueprints independently of a CHAI Flow discovery project

Blueprint Name Requirements:
- Alphanumeric characters and hyphens only
- Must start and end with alphanumeric character
- Maximum 25 characters, unique within the project

Blueprint Version Lifecycle:
1. Create blueprint (v0 by default)
2. Create copies for parallel development or hotfixes
3. Promote a version to final; deploy to target cluster
4. Create next version as the application evolves (max 10 revisions)

Blueprint Operations:

Operation Description
Create New Blueprint Define a new deployment spec manually or from Transform
Create Blueprint Copy Branch an existing blueprint for independent changes
Create Blueprint Version Increment the version for a new release
Edit Blueprint Modify component config, replicas, ports, environment variables
Delete Blueprint Remove a blueprint and all its versions
Generate Blueprint From Transform → Applications: one-click blueprint generation
Deploy in Cruise Transition a finalized blueprint to Cruise for workload creation

9.3 Cluster Management — Bring Your Own Cluster

Cruise supports importing any of the following Kubernetes distributions:

Platform Provider
EKS Amazon Web Services
AKS Microsoft Azure
GKE Google Cloud
OpenShift Red Hat
IBM Cloud Kubernetes Service IBM
Tanzu VMware
Rancher SUSE
Kubernetes Self-managed / on-premises

Add Cluster Workflow:

flowchart LR classDef chai fill:#2020a0,color:#fff,stroke:#435ef8 classDef step fill:#435ef8,color:#fff,stroke:#2020a0 classDef done fill:#8d00fc,color:#fff,stroke:#435ef8 S1[Navigate to\nSettings > Clusters] S2[Select\nBring Your Own Cluster] S3[Provide Cluster Name\nand Description] S4[Import Config\nJSON or YAML file\nor paste contents] S5[Validate and Fetch\nCluster Details] S6[Review\nK8s version / Nodes\nNamespaces / Ingress] S7[Save Cluster] S8[Cluster Available\nfor Deployment] S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8 class S1,S2,S3,S4 step class S5,S6 chai class S7,S8 done

Cluster validation confirms:
- Kubernetes version
- Node count and health
- Available namespaces
- Persistent volumes
- Ingress controllers

9.4 Creating Workloads

A Workload is a running application on a Kubernetes cluster — the result of deploying an Application Blueprint to a target cluster.

Workload Creation — Three-Step Process:

flowchart TD classDef step fill:#2020a0,color:#fff,stroke:#435ef8 classDef detail fill:#435ef8,color:#fff,stroke:#2020a0 classDef done fill:#8d00fc,color:#fff,stroke:#435ef8 subgraph Step1[Step 1 — Define Workload] direction TB W1[Workload Name\nAlphanumeric, hyphens, periods\nMax 253 chars] W2[Environment\nDevelopment / Stage / QA / Production] W3[Cluster Selection\nChoose imported cluster] W4[Namespace\nUse blueprint namespace\nor override] W5[Ingress Name] end subgraph Step2[Step 2 — Cluster Configuration] direction TB C1[Review All Blueprint Deployments] C2[Review Container Details\nImages / Ports / Config] C3[Assign Nodes\nOptional: pin to specific\ncluster nodes] end subgraph Step3[Step 3 — Summary and Deploy] direction TB D1[Review Workload Details] D2[Review Cluster and Node Details] D3[Start Workload Deployment] end Step1 --> Step2 --> Step3 class W1,W2,W3,W4,W5 detail class C1,C2,C3 detail class D1,D2 detail class D3 done

Environment Options: Development, Stage, QA, Production

Namespace Override: If the blueprint's defined namespace does not exist on the target cluster, Cruise allows a namespace override at deployment time.

9.5 Viewing and Managing Workloads

Cruise provides two views for workload visibility:

View Access Path Shows
By Blueprint Cruise → select Blueprint → Deployed Workloads All workloads created from a specific Application Blueprint
By Cluster Settings → Clusters → kebab menu → Deployed Workloads All workloads running on a specific cluster

Both views provide unified visibility across environments, clusters, and blueprint versions — enabling platform teams to see the full deployment landscape from a single screen.


10. End-to-End CHAI Flow Workflow

The complete CHAI Flow modernization journey from first discovery to production Kubernetes workload:

flowchart TD classDef phase fill:#2020a0,color:#fff,stroke:#435ef8 classDef step fill:#435ef8,color:#fff,stroke:#2020a0 classDef output fill:#8d00fc,color:#fff,stroke:#435ef8 subgraph Phase1["Phase 1 — DART: Setup"] direction TB P1[Create Project\nSet target cloud + region\nEnable Graviton Assessment] P2[Add Hosts\nLinux via SSH\nWindows via WinRM\nor CSV bulk upload] P3[Configure Vault\nSSH keys, WinRM credentials\nAWS cloud credentials] end subgraph Phase2["Phase 2 — DART: Discover"] direction TB P4[Check Connectivity\nVerify network reachability] P5[Check Prerequisites\nValidate host config\nFetch IIS app list] P6[Run Discovery\nPhase 1 static data collection\nPhase 2 X-Ray for Linux processes] P7[Run Netwatch\nCapture live network traffic\nfor dependency mapping] end subgraph Phase3["Phase 3 — DART: Rationalize"] direction TB P8[Review Topology\nHost view + Application view] P9[Define Applications\nGroup related processes\ninto logical applications] P10[Classify Hosts\nAssign 6R classification\nper host] P11[AWS Cost Comparison\nGenerate cost projections\nfor target AWS region] end subgraph Phase4["Phase 4 — DART: Report"] direction TB P12[Review DART Report\nExecutive portfolio summary] P13[Generate Practitioner Reports\nPer application / component / host] end subgraph Phase5["Phase 5 — Transform: Containerize"] direction TB P14[Setup Build Box\nLinux or Windows\nSatisfy prerequisites] P15[Create Profile Copies\nEdit Dockerfile\nConfigure Container Config] P16[Validate and Build\nSelect Build Box\nConfigure Registry] P17[Push Container Image\nto Registry\nMark Image as Final] end subgraph Phase6["Phase 6 — Transform: Blueprint"] direction TB P18[Define Application\nin Transform\nGroup related processes] P19[Generate Blueprint\nAuto-populated from\ndiscovery and transform data] P20[Review Blueprint\nPorts / Replicas / Config Maps\nEnvironment Variables] end subgraph Phase7["Phase 7 — Cruise: Deploy"] direction TB P21[Import Cluster\nBYOC: EKS / AKS / GKE\nOpenShift / Rancher / Tanzu] P22[Create Workload\nSelect Environment\nAssign Cluster and Namespace] P23[Start Deployment\nCluster validation\nWorkload provisioning] P24[Monitor Workloads\nBy Blueprint or\nBy Cluster] end Phase1 --> Phase2 --> Phase3 --> Phase4 --> Phase5 --> Phase6 --> Phase7 class P1,P2,P3 step class P4,P5,P6,P7 step class P8,P9,P10,P11 step class P12,P13 output class P14,P15,P16,P17 step class P18,P19,P20 step class P21,P22,P23,P24 output

11. Supported Technology Stack

Application Servers and Middleware

Technology Discovery Containerization Replatform
Oracle WebLogic 12.1.3, 12.2.1.4 Full (Non-X-Ray) Yes Windows → Linux (Oracle base image)
IBM WebSphere 8.x, 9.x Full (Non-X-Ray) Yes Windows → Linux (Liberty base image)
Apache Tomcat 7, 8, 9, 10 Full (Non-X-Ray) Yes Windows → Linux (Tomcat base image)
JBoss EAP 6.1 Full (Non-X-Ray) Yes Windows → Linux (WildFly base image)
IIS Websites (Windows) Full Yes (including multi-site merge)
General Linux Processes Full (Phase 1 + X-Ray) Yes
Console Applications (Windows) Beta Beta
Windows Services Beta Beta

Operating Systems

OS Version Discovery Containerization
Red Hat Enterprise Linux 7.x, 8.x Phase 1 + Phase 2 Supported
Ubuntu 16+ Phase 1 + Phase 2 Supported
Windows Server 2012 R2 and above Phase 1 (non-intrusive) Supported
Windows Server 2016 Phase 1 (non-intrusive) Supported

Kubernetes Cluster Platforms

Platform Provider BYOC Support
EKS Amazon Web Services Yes
AKS Microsoft Azure Yes
GKE Google Cloud Yes
OpenShift Red Hat Yes
IBM Cloud Kubernetes Service IBM Yes
Tanzu VMware Yes
Rancher SUSE Yes
Kubernetes (self-managed) On-premises / any cloud Yes

Container Registries

Registry Type
Docker Hub Public / Private
Amazon ECR Private (AWS)
QUAY Private / Enterprise
Azure ACR Private (Azure)
Harbor Self-hosted
Custom Registry Any OCI-compliant registry

Connection Protocols

Component Protocol Default Port
Linux host discovery SSH (key-based or password) 22
Windows host discovery WinRM (Basic or Kerberos) 5986
Host callback to CHAI HTTPS 443
Linux Build Box SSH 22

12. Business Outcomes

CHAI Flow™ delivers end-to-end modernization outcomes — from discovery through to production Kubernetes deployment:

600% faster assessment than manual approaches  |  45% reduction in migration failure risk  |  Zero manual Dockerfile authoring  |  Any Kubernetes cluster — BYOC

What Organizations Get from CHAI Flow

Deliverable Phase Description
Complete host inventory DART Every Windows and Linux host with OS, CPU, memory, disk, installed packages
Application dependency map DART Live Netwatch capture of all network connections — inbound, outbound, ports, processes
Application complexity scores DART Automated High/Medium/Low scoring per process, based on 10+ containerization factors
Technology stack report DART Distribution of app servers, databases, OS types across the portfolio
OS license expiry timeline DART Which hosts are running end-of-life or near-expiry OS versions
6R rationalization DART Per-host cloud migration strategy: Rehost, Replatform, Refactor, Retain, Retire
AWS cost projection DART Monthly cost estimate for hosting discovered portfolio in target AWS region
Graviton readiness DART Per-component and per-host Graviton compatibility assessment
DART Report (PDF) DART Executive-ready portfolio summary for CIO/CDO stakeholders
Practitioner Report (PDF) DART Detailed per-app technical report for migration execution teams
Auto-generated Dockerfiles Transform AI-generated Dockerfiles for every discovered process — no manual authoring
Container images Transform Built and registry-pushed container images for all modernization candidates
Replatformed Java containers Transform WebLogic / WebSphere / Tomcat / JBoss → Linux container images
Application Blueprints Transform + Cruise Portable Kubernetes deployment specs auto-populated from discovery + transform data
Kubernetes workloads Cruise Production workloads deployed to any CNCF-compliant cluster via BYOC
Multi-cluster visibility Cruise Unified workload view across all environments and cluster platforms

Appendix A — CHAI Flow vs Traditional Modernization

Dimension Traditional / Fragmented CHAI Flow™
Discovery Manual interviews, spreadsheets Agentless automated discovery via SSH / WinRM
Assessment time 2–3 weeks per application Hours for a 50-host project
Complexity scoring Subjective expert estimate Formula-based R6Ai® scoring — reproducible
Dockerfile authoring Manual, per application Auto-generated from discovery artifacts
Java app server replatforming Custom scripts, per app, per team Built-in WebLogic / WebSphere / Tomcat / JBoss pipelines
Registry integration Manual push scripts Built-in support for 6 registry types
Kubernetes deployment Manual YAML files Application Blueprint auto-generated from Transform
Cluster flexibility Often locked to one vendor BYOC: EKS, AKS, GKE, OpenShift, Rancher, Tanzu
End-to-end traceability Zero — tools don't share data Single platform from discovery host to running workload
Graviton assessment Not typically included Built-in Graviton readiness per host/component
Scalability Bottlenecked by analyst and engineering capacity Parallel discovery, parallel containerization, parallel deployment

Appendix B — Key CHAI Flow Concepts Glossary

Term Definition
Project A logical grouping of up to 50 hosts for discovery, assessment, and containerization
Host A physical or virtual machine (Linux or Windows) added to a CHAI Flow project
Phase 1 Static discovery — collects OS, hardware, installed packages, and process list
Phase 2 (X-Ray) Dynamic discovery — attaches probes to capture live network connections and file system activity (Linux only)
Non-X-Ray Discovery Single-phase discovery for Java app servers — reads config files instead of probes
Netwatch Network monitoring feature that captures all inbound/outbound connections over a configurable time window
Topology Visual map of connections between all hosts and processes in a project
Application A user-defined grouping of processes belonging to the same logical application
6R Classification Per-host migration strategy: Reinvest (Rehost / Replatform / Refactor), Retain, or Retire
Complexity Score Numerical score (0–25 Low, 26–35 Medium, 36+ High) reflecting containerization effort per process
DART Report Auto-generated executive portfolio report (the project landing page)
Practitioner Report Detailed technical report per application, component, or host for migration teams
Vault CHAI's secure credential store — holds SSH keys, WinRM credentials, cloud access keys, registry credentials
Build Box An intermediate host (Linux or Windows) with a Docker daemon used to build container images
Base Image The Docker base image used as the foundation for a containerized application
Transform Profile A versioned set of containerization parameters (Dockerfile, file selection, container config) for a discovered process
Profile Copy An editable version of a Transform profile — original discovery data remains immutable
Application Transformation Studio CHAI Flow's UI for managing Dockerfiles, file selection, container config, profile versions, and image builds
Replatform Converting a Windows-hosted Java application server to a Linux container image
Application Blueprint A portable Kubernetes deployment specification describing all application components, dependencies, ports, replicas, and configuration
Blueprint Version A point-in-time snapshot of a blueprint aligned to software development lifecycle (max 10 per blueprint)
Workload A running application on a Kubernetes cluster, managed by CHAI Flow Cruise
Cluster A CNCF-compliant Kubernetes cluster imported into CHAI via BYOC
BYOC Bring Your Own Cluster — CHAI imports existing enterprise Kubernetes clusters for deployment
Graviton Readiness AWS Graviton ARM-based processor compatibility assessment per host/component
AWS Cost Comparison Automated EC2 instance mapping and monthly cost projection for a target AWS region